// @ts-ignore
import { createI18n } from 'vue-i18n'
import { getLanguage } from '@/utils/cookies'
 
import enLocale from './en'
import zhLocale from './zh'
 
const messages = {
    en: {
        ...enLocale
    },
    'zh-cn': {
        ...zhLocale
    }
}
 
export const getLocale = () => {
    //读取cookie存入的当前语言
    const cookieLanguage = getLanguage()
    //如果有返回当前语言
    if (cookieLanguage) {
        return cookieLanguage
    }
    //如果没有，获取系统语言
    const language = navigator.language.toLowerCase()
    //获取messages 语言 遍历
    const locales = Object.keys(messages)
    for (const locale of locales) {
        //如果messages 包里面有系统语言返回
        if (language.indexOf(locale) > -1) {
            return locale
        }
    }
    // 默认语言 简体中文
    return 'zh-cn'
}
//注册i8n实例并引入语言文件
const i18n = createI18n({
    legacy: false, // 是否启用传统模式，默认true启用，需要在Composition API中使用则设为false
    globalInjection: true, // 全局注入，页面内调用全局i18n需要用$t('xxx')，而非t('xxx')
    locale: getLocale(), //默认显示的语言
    messages //引入语言文件
})
 
export default i18n;